package com.ycg.blog.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycg.blog.pojo.Tag;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycg.blog.pojo.vo.SimpleArticleVo;
import com.ycg.blog.pojo.vo.TagVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author lenovo
* @description 针对表【blog_tag(文章分类信息)】的数据库操作Mapper
* @createDate 2024-03-02 12:05:04
* @Entity com.ycg.blog.pojo.Tag
*/
public interface TagMapper extends BaseMapper<Tag> {

    /**
     * 获取所有的标签视图
     * @return
     * @param page
     */
    List<TagVo> getTags(Page<TagVo> page);

    /**
     * 根据标签id获取文章信息
     * @param tagId
     * @return
     */
    List<SimpleArticleVo> getArticles(@Param("tagId") Integer tagId);

    /**
     * 根据标签id删除标签和标签文章关联表
     * @param tagId
     */
    void deleteTagById(@Param("tagId") Integer tagId);

    /**
     * 根据标签名称新增或修改表情
     *
     * @param tags
     */
    void saveByName(@Param("list") List<Tag> tags);
}




